1. Field of the Invention
The present invention relates generally to computing systems and, more specifically, to computing devices that include redundant or parallel elements for increased reliability.
2. Description of the Related Art
Complex software systems, such as a system of application programs and other software running on a computer under control of an operating system, cannot realistically be expected to be perfectly reliable or stable. Software reliability has been defined as the probability of failure-free software operation for a specified period of time in a specified environment. Even if a system is believed to have no faults or “bugs” at a given time, adding or removing software or otherwise changing the environment in which the system operates can alter the system's reliability. Conflicts between application programs that use shared resources (e.g., memory) are considered a major system factor affecting system stability.
Reliability problems in computer systems can manifest themselves as system “crashes,” where an application program or operating system stops performing as expected and fails to respond to inputs. A system prone to crashing is sometimes said to be unstable. It is widely believed that certain operating systems are inherently more reliable or stable than others. Computer systems having operating systems in the UNIX family, such as LINUX, and those having an APPLE MACINTOSH operating system (MAC OS), are widely believed to be more stable and crash less often than some others. (The term “platform” is sometimes used in the art to refer to the combination of a computer and its operating system.) Some Microsoft WINDOWS platforms have been criticized as unstable, tending to crash more often than comparable LINUX platforms, especially in the context of conflicts among application programs.
Different operating systems are susceptible in differing degrees to different stability factors. For example, a first operating system may be less susceptible to crashes due to conflicts among application programs than a second operating system, but the first operating system may be more susceptible to crashes due to viruses or other malicious software. For example, due at least in part to the popularity of Microsoft WINDOWS, unscrupulous persons have targeted more malicious software (e.g., viruses) toward it than other operating systems, such as LINUX. The contrast between WINDOWS and LINUX is intended only as an example, as each of the operating systems that is commercially available or otherwise known has its own advantages and disadvantages in comparison with the others, especially as they relate to reliability issues such as stability and susceptibility to malicious software.
Avoiding system crashes can be extremely important in instances in which, for example, the computer is being used for health or safety applications. It would be desirable in such instances to minimize the adverse impact of system failures or other reliability problems. It is to such a method and device to which the present invention is primarily directed.